iT邦幫忙

2026 iThome 鐵人賽

DAY 10
1
Kubernetes

從零開始的 Kubernetes 基礎觀念與實作系列 第 10 篇

從零開始的 Kubernetes 基礎觀念與實作 DAY10

  • 分享至 

  • xImage
  •  

Job

Job主要用途為執行一次性任務,例如建立初始化資料庫、批次處理資料、備份。
Job會創建一個或多個Pod來執行任務,直到Pod完成指定數量才算任務完成

apiVersion: batch/v1
kind: Job
metadata:
  name: job-demo
spec:
  template:
    spec:
      containers:
        - name: job-demo
          image: busybox
          command: ["echo", "Hello Kubernetes"]
      restartPolicy: Never

套用到Kubernetes後查看後發現馬上就進入Completed狀態,畢竟我們只有叫它輸出一個Hello Kubernetes
image
而我們可以使用completions:和parallelism:來調整job執行任務時一次啟動的pod數量與所需完成的指定Pod數量。

  • completions: 負責總共需要成功算完幾次。
  • parallelism: 負責同時最多能有幾個 Pod 一起算。

這樣可以幫助系統在Job運行時減少負擔。

CronJob

CronJob是可以進行時間排程的Job,當有一個工作需要在指定時間重複執行時可以使用。設定時間排程的表示方式為Cron語法。
在schedule:中進行設定
這裡設定為每五分鐘執行一次

apiVersion: batch/v1
kind: CronJob
metadata:
  name: cronjob-demo
spec:
  schedule: "*/5 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: cron-demo
              image: busybox
              command:
                - /bin/sh
                - -c
                - |
                  echo "Hello"
                  sleep 5
                  echo "k8s"
          restartPolicy: OnFailure

間隔大約五分鐘後再查一次
image
image
可以看到cronjob是按照我們的設定每隔五分鐘就創建一個Pod來執行任務


上一篇
# 從零開始的 Kubernetes 基礎觀念與實作 DAY9
下一篇
# 從零開始的 Kubernetes 基礎觀念與實作 DAY11
系列文
從零開始的 Kubernetes 基礎觀念與實作 共 16 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
godlichen
iT邦新手 5 級 ‧ 2026-09-24 17:13:26

食用

我要留言

立即登入留言